<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of produtos
 *
 * @author Lucas Pinheiro
 */
class Banners extends Admin {

    //put your code here
    public function __construct() {
        parent::__construct();
        $this->load->model('banners_model');
    }

    public function cadastrar() {
        $v_dados = array();
        $v_dados['id_banners'] = '';
        $v_dados['nome'] = '';
        $v_dados['url'] = '';
        $v_dados['imagem'] = '';
        $this->display($this->parser->parse('admin/banners/frm_cad_view', $v_dados, TRUE), 'Cadastro de Banner');
    }

    public function alterar() {
        $b_consultar = $this->banners_model->get('id_banners', $this->uri->segment(4));
        $v_dados = array();
        $v_dados['id_banners'] = $b_consultar->id_banners;
        $v_dados['nome'] = $b_consultar->nome;
        $v_dados['url'] = $b_consultar->url;
        $v_dados['imagem'] = ($b_consultar->imagem != NULL ? $this->load_img($b_consultar) : $b_consultar->imagem);
        $this->display($this->parser->parse('admin/banners/frm_cad_view', $v_dados, TRUE), 'Alteração de Banner');
    }

    public function excluir() {
        $b_excluir = $this->banners_model->excluir('id_banners', $this->uri->segment(4));
        if ($b_excluir != NULL) {
            $this->display('Banner excluido com sucesso.', 'Exclusão de Banner');
        } else {
            $this->display('Não foi possivel excluir a Banner.', 'Exclusão de Banner');
        }
    }

    public function gravar() {
        $this->form_validation->set_rules('nome', 'Nome', 'trim|required');
        $this->form_validation->set_rules('url', 'URL', 'trim|required');
        if ($this->form_validation->run() == FALSE) {
            $this->display('Seguintes erros foram localizados.<br>' . validation_errors(), 'Error da Banner');
        } else {
            $uplod = array();
            if ($_FILES['imagem']['name'] != '') {
                $uplod = $this->_do_upload();
            }
            if (count($uplod) > 0) {
                if ($uplod['resultado'] == 'sucesso') {
                    $p_dados = array();
                    $p_dados['nome'] = $this->input->post('nome');
                    $p_dados['url'] = $this->input->post('url');
                    $p_dados['imagem'] = $uplod['upload_data']['file_name'];
                    if ($this->input->post('id_banners') == '') {
                        $this->banners_model->cadastrar($p_dados);
                        $this->display('Banner cadastrada com sucesso', 'Cadastro de Banner');
                    } else {
                        $this->banners_model->alterar('id_banners', $this->input->post('id_banners'), $p_dados);
                        $this->display('Banner alterada com sucesso', 'Cadastro de Banner');
                    }
                } else {
                    $this->display('Seguintes erros foram localizados.<br>' . $uplod['error'], 'Error da Banner');
                }
            } else {
                $p_dados = array();
                $p_dados['nome'] = $this->input->post('nome');
                $p_dados['url'] = $this->input->post('url');
                if ($this->input->post('id_banners') == '') {
                    $this->banners_model->cadastrar($p_dados);
                    $this->display('Banner cadastrada com sucesso', 'Cadastro de Banner');
                } else {
                    $this->banners_model->alterar('id_banners', $this->input->post('id_banners'), $p_dados);
                    $this->display('Banner alterada com sucesso', 'Cadastro de Banner');
                }
            }
        }
    }

    public function consultar() {
        $b_consultar = $this->banners_model->get_all();
        $v_dados = array();
        $v_dados['banners'] = array();
        if ($b_consultar != null) {
            foreach ($b_consultar as $k => $v) {
                $v_dados['banners'][$k]['id_banners'] = $v->id_banners;
                $v_dados['banners'][$k]['nome'] = $v->nome;
                $v_dados['banners'][$k]['url'] = $v->url;

                $v_dados['banners'][$k]['imagem'] = ($v->imagem != NULL ? $this->load_img($v) : $v->imagem);
                $v_dados['banners'][$k]['acao'] = anchor(admin_url('banners/alterar/' . $v->id_banners), 'Alterar');
                $v_dados['banners'][$k]['acao'] .= ' | ' . anchor(admin_url('banners/excluir/' . $v->id_banners), 'Excluir');
            }

            $this->display($this->parser->parse('admin/banners/frm_con_view', $v_dados, TRUE), 'Consulta de banners');
        } else {
            $this->display('Nenhum registro localizado', 'Consulta de banners');
        }
    }

    function _do_upload() {
        $config = array();
        $config['upload_path'] = FCPATH . 'banners/';
        $config['allowed_types'] = 'gif|jpg|png|jpeg|swf';

        $this->load->library('upload', $config);

        if (!$this->upload->do_upload('imagem')) {
            return array('resultado' => 'error', 'error' => $this->upload->display_errors());
        } else {
            return array('resultado' => 'sucesso', 'upload_data' => $this->upload->data());
        }
    }

    private function load_img($b_dados) {
        $this->load->helper('file');
        $ext = get_mime_by_extension(FCPATH . 'banners/' . $b_dados->imagem);
        $ext = explode('/', $ext);
        if ($ext[0] == 'image') {
            $image_properties = array(
                'src' => base_url('banners/' . $b_dados->imagem),
                'alt' => $b_dados->nome,
                'width' => '200',
                'title' => $b_dados->nome
            );
            return img($image_properties);
        } else {
            $swf = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
  codebase="http://active.macromedia.com/flash4/cabs/swflash.cab#version=4,0,0,0"
  id="name" width="468" height="60">
  <param name="movie" value="' . base_url('banners/' . $b_dados->imagem) . '">
  <param name="quality" value="high">
  <param name="wmode" value="transparent">
  <embed name="name" src="' . base_url('banners/' . $b_dados->imagem) . '"
  quality="high" wmode="transparent" width="468" height="60"
  type="application/x-shockwave-flash" 
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?
P1_Prod_Version=ShockwaveFlash">
  </embed>
</object> ';
            return $swf;
        }
    }

}